<?php
/**
 * @abstract This class is used to process ajax for post.php page
 * This page will be include into function.php page
 * @author HoanVX
 * @version $Id: post-process.php 43 2015-01-05 15:51:05Z voxuanhoan@gmail.com $
 */
if (!session_id())
	session_start();
$respond = array('error' => '' , 'success' => '');
/**
 * Image upload
 */
function uploadImg(){
	// Chỉ thay đổi folder upload cho page post.php
	// Các page khác (admin)thì vẫn cho phép upload vào thư mục mặc định tự của wp
	// File wp-content\uploads\tmp: là thư mục tạm, sau khi upload vào đây xong, nhấn nút lưu sẽ move hình sao thư mục chính
	define( 'UPLOADS', ''. '/uploads/tmp' );

	$imgNo = isset($_POST['imgPosition']) ? $_POST['imgPosition'] : "";
	$file = $_FILES['imgFile'.$imgNo];
	global $respond;
	if(!empty($file) && $file['size'] > 0 && (!empty($imgNo))) {

		// retrieve the filetype & check if is allowed for upload
		$filetype = wp_check_filetype(basename($file['name']));
		$allowed_filetypes = array('image/jpeg', 'image/png', 'image/gif');
		if(in_array($filetype['type'], $allowed_filetypes)) {
			
			$overrides = array('test_form' => false);
			$respond_img = wp_handle_upload($file, $overrides);
			if (!empty($respond)) {
				if (isset($_SESSION['postData']["imgNo{$imgNo}"])) {

					// Delete old temp image if exist
					@unlink($_SESSION['postData']["imgNo{$imgNo}"]["file"]);
				}
				$respond_img['imgNo'] = $imgNo;
				$respond['success'] = 'success';
				$respond = array_merge($respond, $respond_img);
				//Save into session
				
				$_SESSION['postData']["imgNo{$imgNo}"] = $respond_img;
				$_SESSION['postData']["hasImg"] = true;
			} else {
				$respond['error'] = Messages::ERROR_FILE_EXTENSION_INVALID;
			}
		} else {
			$respond['error'] = Messages::ERROR_NO_SELECT_FILE;
		}
	} else {
		$respond['error'] = Messages::ERROR_NO_SELECT_FILE;
	}
	
	echo json_encode($respond);
	// don't return value 0
	die();
}

// add_action('wp_ajax_{function name}', {function name});
add_action('wp_ajax_uploadImg', 'uploadImg');
// add_action('wp_ajax_nopriv_{function name}', '{function name}');
add_action('wp_ajax_nopriv_uploadImg', 'uploadImg');

/**
 * Load district by ajax
 */
function ajaxDoLoadDistrict() {
	global $respond;
	if (isset($_POST['city'])) {
		$data = CityEnum::getDistrictPulldown(array(), $_POST['city']);
		$respond['success'] = 'success';
		$respond['data']	= $data;
	} else {
		$respond['error'] = Messages::ERROR_CITY_SELECT_REQUIRED;
	}

	echo json_encode($respond);
	exit();
}
add_action('wp_ajax_ajaxDoLoadDistrict', 'ajaxDoLoadDistrict');
add_action('wp_ajax_nopriv_ajaxDoLoadDistrict', 'ajaxDoLoadDistrict');